package com.tjec.project.projectWorkbench.domain;

import com.tjec.framework.aspectj.lang.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tjec.framework.web.domain.BaseEntity;
import com.tjec.project.system.domain.BmsAttachment;

import io.swagger.annotations.ApiModelProperty;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 精品项目库对象 bms_project_library
 * 
 * @author pangyongfeng
 * @date 2021-01-18
 */
public class BmsProjectLibrary extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String guid;

    /** 项目id */
    private String projectId;
    
    /** 项目代码 */
    @Excel(name = "项目代码")
    private String projectCode;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 是否保密工程(0:否，1:是) */
    @Excel(name = "是否保密工程(0:否，1:是)")
    private String isSecurity;

    /** 所在地区 */
    @Excel(name = "所在地区")
    private String area;

    /** 经度 */
    @Excel(name = "经度")
    private String longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private String latitude;

    /** 展示项目名称 */
    @Excel(name = "展示项目名称")
    private String showProjectName;

    /** 项目概要 */
    @Excel(name = "项目概要")
    private String projectSummary;

    /** 项目展示主图 */
    @Excel(name = "项目展示主图")
    private String projectShowMainImage;

    /** 项目展示图片 */
    @Excel(name = "项目展示图片")
    private String projectShowImage;

    /** 委托方 */
    @Excel(name = "委托方")
    private String client;

    /** 投资类型 */
    @Excel(name = "投资类型")
    private String investmentType;

    /** 项目建设背景 */
    @Excel(name = "项目建设背景")
    private String projectBuildBackground;

    /** 项目总投资 */
    @Excel(name = "项目总投资")
    private String projectTotal;

    /** 工程类型 */
    @Excel(name = "工程类型")
    private String projectType;

    /** 建设选址 */
    @Excel(name = "建设选址")
    private String projectSiteSelection;

    /** 建设规模描述 */
    @Excel(name = "建设规模描述")
    private String projectScale;

    /** 开始服务日期 */
    @Excel(name = "开始服务日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 完成服务日期 */
    @Excel(name = "完成服务日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;
    
    /** 附件id集合 */
    private ArrayList<String> attachmentIds;

   //附件集合
    private List<BmsAttachment> bmsAttachments;
    
    //项目展示主图
    private List<BmsAttachment> projectShowMainImages;
    
    //项目展示图片
    private List<BmsAttachment> projectShowImages;
    
    //故事图片
    private List<BmsAttachment> storyImages;

	public List<BmsAttachment> getProjectShowImages() {
		return projectShowImages;
	}

	public void setProjectShowImages(List<BmsAttachment> projectShowImages) {
		this.projectShowImages = projectShowImages;
	}

	public List<BmsAttachment> getStoryImages() {
		return storyImages;
	}

	public void setStoryImages(List<BmsAttachment> storyImages) {
		this.storyImages = storyImages;
	}

	/** 主要服务内容 */
    @Excel(name = "主要服务内容")
    private String mainServiceContent;

    /** 亮点与难点 */
    @Excel(name = "亮点与难点")
    private String advanDefect;

    /** 服务成效与创新点 */
    @Excel(name = "服务成效与创新点")
    private String innovationPoint;

    /** 项目所获荣誉 */
    @Excel(name = "项目所获荣誉")
    private String projectHonor;

    /** 团队主要成员 */
    @Excel(name = "团队主要成员")
    private String mainMember;

    /** 感想、心得与故事 */
    @Excel(name = "感想、心得与故事")
    private String story;

    /** 故事图片 */
    @Excel(name = "故事图片")
    private String storyImage;

    /** 附件上传 */
    @Excel(name = "附件上传")
    private String projectAttachment;

    public void setGuid(String guid) 
    {
        this.guid = guid;
    }

    public String getGuid() 
    {
        return guid;
    }
    public void setProjectCode(String projectCode) 
    {
        this.projectCode = projectCode;
    }

    public String getProjectCode() 
    {
        return projectCode;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setIsSecurity(String isSecurity) 
    {
        this.isSecurity = isSecurity;
    }

    public String getIsSecurity() 
    {
        return isSecurity;
    }
    public void setArea(String area) 
    {
        this.area = area;
    }

    public String getArea() 
    {
        return area;
    }
    public void setLongitude(String longitude) 
    {
        this.longitude = longitude;
    }

    public String getLongitude() 
    {
        return longitude;
    }
    public void setLatitude(String latitude) 
    {
        this.latitude = latitude;
    }

    public String getLatitude() 
    {
        return latitude;
    }
    public void setShowProjectName(String showProjectName) 
    {
        this.showProjectName = showProjectName;
    }

    public String getShowProjectName() 
    {
        return showProjectName;
    }
    public void setProjectSummary(String projectSummary) 
    {
        this.projectSummary = projectSummary;
    }

    public String getProjectSummary() 
    {
        return projectSummary;
    }
    public void setProjectShowMainImage(String projectShowMainImage) 
    {
        this.projectShowMainImage = projectShowMainImage;
    }

    public String getProjectShowMainImage() 
    {
        return projectShowMainImage;
    }
    public void setProjectShowImage(String projectShowImage) 
    {
        this.projectShowImage = projectShowImage;
    }

    public String getProjectShowImage() 
    {
        return projectShowImage;
    }
    public void setClient(String client) 
    {
        this.client = client;
    }

    public String getClient() 
    {
        return client;
    }
    public void setInvestmentType(String investmentType) 
    {
        this.investmentType = investmentType;
    }

    public String getInvestmentType() 
    {
        return investmentType;
    }
    public void setProjectBuildBackground(String projectBuildBackground) 
    {
        this.projectBuildBackground = projectBuildBackground;
    }

    public String getProjectBuildBackground() 
    {
        return projectBuildBackground;
    }
    public void setProjectTotal(String projectTotal) 
    {
        this.projectTotal = projectTotal;
    }

    public String getProjectTotal() 
    {
        return projectTotal;
    }
    public void setProjectType(String projectType) 
    {
        this.projectType = projectType;
    }

    public String getProjectType() 
    {
        return projectType;
    }
    public void setProjectSiteSelection(String projectSiteSelection) 
    {
        this.projectSiteSelection = projectSiteSelection;
    }

    public String getProjectSiteSelection() 
    {
        return projectSiteSelection;
    }
    public void setProjectScale(String projectScale) 
    {
        this.projectScale = projectScale;
    }

    public String getProjectScale() 
    {
        return projectScale;
    }
    public void setMainServiceContent(String mainServiceContent) 
    {
        this.mainServiceContent = mainServiceContent;
    }

    public String getMainServiceContent() 
    {
        return mainServiceContent;
    }
    public void setAdvanDefect(String advanDefect) 
    {
        this.advanDefect = advanDefect;
    }

    public String getAdvanDefect() 
    {
        return advanDefect;
    }
    public void setInnovationPoint(String innovationPoint) 
    {
        this.innovationPoint = innovationPoint;
    }

    public String getInnovationPoint() 
    {
        return innovationPoint;
    }
    public void setProjectHonor(String projectHonor) 
    {
        this.projectHonor = projectHonor;
    }

    public String getProjectHonor() 
    {
        return projectHonor;
    }
    public void setMainMember(String mainMember) 
    {
        this.mainMember = mainMember;
    }

    public String getMainMember() 
    {
        return mainMember;
    }
    public void setStory(String story) 
    {
        this.story = story;
    }

    public String getStory() 
    {
        return story;
    }
    public void setStoryImage(String storyImage) 
    {
        this.storyImage = storyImage;
    }

    public String getStoryImage() 
    {
        return storyImage;
    }
    public void setProjectAttachment(String projectAttachment) 
    {
        this.projectAttachment = projectAttachment;
    }

    public String getProjectAttachment() 
    {
        return projectAttachment;
    }
    
    public ArrayList<String> getAttachmentIds() {
		return attachmentIds;
	}

	public void setAttachmentIds(ArrayList<String> attachmentIds) {
		this.attachmentIds = attachmentIds;
	}

	public List<BmsAttachment> getBmsAttachments() {
		return bmsAttachments;
	}

	public void setBmsAttachments(List<BmsAttachment> bmsAttachments) {
		this.bmsAttachments = bmsAttachments;
	}

	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("guid", getGuid())
            .append("projectId", getProjectId())
            .append("projectCode", getProjectCode())
            .append("projectName", getProjectName())
            .append("isSecurity", getIsSecurity())
            .append("area", getArea())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("showProjectName", getShowProjectName())
            .append("projectSummary", getProjectSummary())
            .append("projectShowMainImage", getProjectShowMainImage())
            .append("projectShowImage", getProjectShowImage())
            .append("client", getClient())
            .append("investmentType", getInvestmentType())
            .append("projectBuildBackground", getProjectBuildBackground())
            .append("projectTotal", getProjectTotal())
            .append("projectType", getProjectType())
            .append("projectSiteSelection", getProjectSiteSelection())
            .append("projectScale", getProjectScale())
            .append("mainServiceContent", getMainServiceContent())
            .append("advanDefect", getAdvanDefect())
            .append("innovationPoint", getInnovationPoint())
            .append("projectHonor", getProjectHonor())
            .append("mainMember", getMainMember())
            .append("story", getStory())
            .append("storyImage", getStoryImage())
            .append("projectAttachment", getProjectAttachment())
            .toString();
    }

	public String getProjectId() {
		return projectId;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}

	public List<BmsAttachment> getProjectShowMainImages() {
		return projectShowMainImages;
	}

	public void setProjectShowMainImages(List<BmsAttachment> projectShowMainImages) {
		this.projectShowMainImages = projectShowMainImages;
	}
}
